package com.yuexunit.finance.project.action.v1;

import java.util.List;

import com.yuexunit.finance.context.FinVersion1;
import com.yuexunit.finance.project.action.v1.model.FinanceContainerBill;
import com.yuexunit.finance.project.action.v1.model.OrderInfoResult;
import com.yuexunit.web.annotation.Action;
import com.yuexunit.web.annotation.Parameter;
import com.yuexunit.web.annotation.Permission;

/**
 * @author wenwenlong
 */
public interface FinanceContainerBillActionApi {
	@Permission
	@Action(version = FinVersion1.class, description = "订舱")
	public OrderInfoResult createOrderInfo(
			@Parameter(name = "financeId", description = "﻿融资信息ID") Long financeId
	);
	
	@Permission
	@Action(version = FinVersion1.class, description = "新增融资订舱箱信息")
	@Parameter(name = "containerBillId", description = "订舱详情ID")
	public String createFinanceContainerBill(
			@Parameter(name = "financeId", description = "﻿融资信息ID", nullable=true) Long financeId,
			@Parameter(name = "model", description = "箱型：10 20 40 48") String model,
			@Parameter(name = "dimension", description = "尺寸 HQ GP RH") String dimension,
			@Parameter(name = "emptyWeight", description = "空重") String emptyWeight,
			@Parameter(name = "quantity", description = "箱量") Integer quantity,
			@Parameter(name = "soc", description = "soc 0：否/1：是") Boolean soc,
			@Parameter(name = "recieveNoticeId", description = "收货通知ID", nullable=true) Long recieveNoticeId
	);
	
	@Permission
	@Action(version = FinVersion1.class, description = "查询融资订舱箱信息")
	public List<FinanceContainerBill> inquireFinanceContainerBillList(
			@Parameter(name = "recieveNoticeId", description = "收货通知ID", nullable=true) Long recieveNoticeId
	);
	
	@Permission
	@Action(version = FinVersion1.class, description = "删除融资订舱箱信息")
	public void deleteFinanceContainerBill(
			@Parameter(name = "containerBillId", description = "订舱详情ID") Long containerBillId
	);
}
